package a.f.c;

import a.c.*;
import a.c.d;
import a.c.e;
import a.f.o;
import a.f.rc;

import java.awt.*;
import java.awt.geom.Rectangle2D;

public class a
  extends a.f.t
{
  private h D;
  private k E = new k();
  public static int F;
  
  public a(rc paramrc)
  {
    super(paramrc);
  }
  
  public a() {}
  
  public boolean canLayout(o paramo)
  {
    return super.canLayout(paramo);
  }
  
  protected int c(o paramo, x paramx)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    bb localbb = this.D.d(this.D.d());
    localbb.j();
    a.c.w localw1 = paramo.v();
    do
    {
      do
      {
        if (!localw1.e()) {
          break;
        }
        paramx.a(localw1.d(), -1);
        localw1.f();
      } while (!bool1);
    } while (bool2);
    int i = 0;
    a.c.w localw2 = localbb.l();
    do
    {
      if (!localw2.e()) {
        break;
      }
      e locale = localw2.d();
      if (bool1) {
        break label208;
      }
      if (this.D.e(locale))
      {
        if (bool2) {
          continue;
        }
        if (this.D.g(locale).isEmpty())
        {
          if (bool2) {
            continue;
          }
          if (this.D.h(locale).isEmpty())
          {
            if (bool2) {
              continue;
            }
            if (a(paramo, locale, paramx, i) > 0) {
              i++;
            }
          }
        }
      }
      localw2.f();
    } while (!bool1);
    if ((!bool2) && (a(paramo, null, paramx, i) > 0)) {
      label208:
      i++;
    }
    return i;
  }
  
  int a(q paramq, e parame, x paramx, int paramInt)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    int i = 0;
    a.c.w localw = this.D.c(parame).l();
    do
    {
      if (!localw.e()) {
        break;
      }
      e locale = localw.d();
      if (bool1) {
        break label120;
      }
      if (paramx.getInt(locale) < 0)
      {
        paramx.a(locale, paramInt);
        i++;
        if (bool2) {
          continue;
        }
        if (this.D.e(locale)) {
          i += a(paramq, locale, paramx, paramInt);
        }
      }
      localw.f();
    } while (!bool1);
    label120:
    return i;
  }
  
  public void doLayout(o paramo)
  {
    boolean bool2 = h.j;
    boolean bool1 = h.i;
    if (paramo.n()) {
      return;
    }
    double d1 = e();
    this.D = new h(paramo);
    this.E.a(c());
    x localx = paramo.B();
    int i = c(paramo, localx);
    bb[] arrayOfbb = new bb[i];
    ab[] arrayOfab = new ab[i];
    a.d.t[] arrayOft = new a.d.t[i];
    e[] arrayOfe = new e[i];
    int j = 0;
    do
    {
      if (j >= i) {
        break;
      }
      arrayOfbb[j] = new bb();
      arrayOfab[j] = new ab();
      j++;
      if (bool2) {
        break label301;
      }
      if (bool1) {
        break label299;
      }
    } while (!bool1);
    Object localObject2;
    label221:
    int k;
    if (!bool2)
    {
      Object localObject1 = paramo.w();
      do
      {
        if (!((m)localObject1).e()) {
          break;
        }
        localObject2 = ((m)localObject1).a();
        arrayOfab[localx.getInt(localObject2.e())].add(localObject2);
        if (!bool2)
        {
          if (bool1) {
            break label221;
          }
          paramo.f((d)localObject2);
          ((m)localObject1).f();
        }
      } while (!bool1);
      localObject1 = paramo.v();
      do
      {
        if (!((a.c.w)localObject1).e()) {
          break;
        }
        localObject2 = ((a.c.w)localObject1).d();
        if (!bool2)
        {
          if (bool1) {
            break label297;
          }
          arrayOfbb[localx.getInt(localObject2)].add(localObject2);
          paramo.d(((a.c.w)localObject1).d());
          ((a.c.w)localObject1).f();
        }
      } while (!bool1);
      label297:
      k = 0;
      label299:
      label301:
      label432:
      label433:
      label438:
      label445:
      label703:
      label707:
      do
      {
        do
        {
          if (k >= i) {
            break;
          }
          if (bool1) {
            break label996;
          }
          localObject2 = arrayOfbb[k].l();
          do
          {
            if (!((a.c.w)localObject2).e()) {
              break;
            }
            paramo.e(((a.c.w)localObject2).d());
            ((a.c.w)localObject2).f();
            if (bool2) {
              break label445;
            }
            if (bool1) {
              break label438;
            }
          } while (!bool1);
          if (!bool2)
          {
            localObject2 = arrayOfab[k].l();
            do
            {
              if (!((m)localObject2).e()) {
                break;
              }
              if (bool2) {
                break label433;
              }
              paramo.g(((m)localObject2).a());
              ((m)localObject2).f();
              if (bool1) {
                break label432;
              }
            } while (!bool1);
            if (bool2) {
              break label1362;
            }
            super.doLayout(paramo);
            localObject2 = paramo.v();
            Object localObject3;
            do
            {
              if (!((a.c.w)localObject2).e()) {
                break;
              }
              localObject3 = this.D.b(((a.c.w)localObject2).d());
              if (bool1) {
                break label532;
              }
              if (localObject3 != null)
              {
                if (bool2) {
                  continue;
                }
                if (localx.getInt(localObject3) > k)
                {
                  if (bool2) {
                    break label531;
                  }
                  arrayOfe[k] = localObject3;
                  if (!bool1) {
                    break;
                  }
                }
              }
              ((a.c.w)localObject2).f();
            } while (!bool1);
            if (bool2) {
              break label1233;
            }
            if (arrayOfe[k] != null)
            {
              localObject2 = paramo.d();
              localObject3 = this.E.a(paramo, arrayOfe[k], this.D.c(arrayOfe[k]));
              double d3 = Math.round(((Rectangle2D)localObject3).getCenterX() / d1) * d1 - ((Rectangle2D)localObject3).getCenterX();
              double d5 = Math.round(((Rectangle2D)localObject3).getCenterY() / d1) * d1 - ((Rectangle2D)localObject3).getCenterY();
              if (!bool2)
              {
                if (d3 < 0.0D) {
                  ((Rectangle2D)localObject3).setFrame(((Rectangle2D)localObject3).getX() + 2.0D * d3, ((Rectangle2D)localObject3).getY(), ((Rectangle2D)localObject3).getWidth() - 2.0D * d3, ((Rectangle2D)localObject3).getHeight());
                }
              }
              else
              {
                if (bool2) {
                  break label707;
                }
                if (!bool1) {
                  break label703;
                }
              }
              ((Rectangle2D)localObject3).setFrame(((Rectangle2D)localObject3).getX(), ((Rectangle2D)localObject3).getY(), ((Rectangle2D)localObject3).getWidth() + 2.0D * d3, ((Rectangle2D)localObject3).getHeight());
              if (!bool2)
              {
                if (d5 < 0.0D)
                {
                  ((Rectangle2D)localObject3).setFrame(((Rectangle2D)localObject3).getX(), ((Rectangle2D)localObject3).getY() + 2.0D * d5, ((Rectangle2D)localObject3).getWidth(), ((Rectangle2D)localObject3).getHeight() - 2.0D * d5);
                  if (bool2) {
                    break label830;
                  }
                }
              }
              else {
                if (!bool1) {
                  break label796;
                }
              }
              ((Rectangle2D)localObject3).setFrame(((Rectangle2D)localObject3).getX(), ((Rectangle2D)localObject3).getY(), ((Rectangle2D)localObject3).getWidth(), ((Rectangle2D)localObject3).getHeight() + 2.0D * d5);
              arrayOft[k] = new a.d.t(((Rectangle2D)localObject3).getX(), ((Rectangle2D)localObject3).getY(), ((Rectangle)localObject2).width, ((Rectangle)localObject2).height);
              paramo.b(arrayOfe[k], ((Rectangle2D)localObject3).getWidth(), ((Rectangle2D)localObject3).getHeight());
            }
          }
          localObject2 = arrayOfab[k].l();
          do
          {
            if (!((m)localObject2).e()) {
              break label902;
            }
            paramo.f(((m)localObject2).a());
            ((m)localObject2).f();
            if ((!bool2) && (bool1)) {
              break;
            }
          } while (!bool1);
          if (bool2) {
            break label996;
          }
          localObject2 = arrayOfbb[k].l();
          if (((a.c.w)localObject2).e())
          {
            paramo.d(((a.c.w)localObject2).d());
            ((a.c.w)localObject2).f();
          }
          for (;;)
          {
            if (!bool2) {
              if (!bool1)
              {
                if (!bool1) {
                  break;
                }
                if (bool2) {
                  continue;
                }
                k++;
              }
            }
          }
        } while (!bool1);
      } while (bool2);
      label531:
      label532:
      label796:
      label830:
      k = 0;
      label902:
      label996:
      do
      {
        do
        {
          if (k >= i) {
            break;
          }
          localObject2 = arrayOfbb[k].l();
          if (((a.c.w)localObject2).e())
          {
            paramo.e(((a.c.w)localObject2).d());
            ((a.c.w)localObject2).f();
          }
          for (;;)
          {
            if (!bool2) {
              if (!bool1)
              {
                if (!bool1) {
                  break;
                }
                if (bool2) {
                  continue;
                }
                k++;
              }
            }
          }
        } while (!bool1);
      } while (bool2);
      k = 0;
    }
    do
    {
      do
      {
        if (k >= i) {
          break;
        }
        localObject2 = arrayOfab[k].l();
        if (((m)localObject2).e())
        {
          paramo.g(((m)localObject2).a());
          ((m)localObject2).f();
        }
        for (;;)
        {
          if (!bool2) {
            if (!bool1)
            {
              if (!bool1) {
                break;
              }
              if (bool2) {
                continue;
              }
              k++;
            }
          }
        }
      } while (!bool1);
    } while (bool2);
    if (!bool2)
    {
      if (d1 <= 0.0D)
      {
        k = i - 2;
        do
        {
          if (k < 0) {
            break;
          }
          localObject2 = arrayOfe[k];
          a(paramo, arrayOfbb[k], arrayOfab[k], paramo.r((e)localObject2), arrayOft[k]);
          k--;
          if ((!bool2) && (bool1)) {
            return;
          }
        } while (!bool1);
      }
      if (bool2) {}
    }
    else
    {
      k = i - 2;
      label1233:
      do
      {
        if (k < 0) {
          break;
        }
        localObject2 = arrayOfe[k];
        double d2 = Math.round((paramo.p((e)localObject2) - arrayOft[k].d()) / d1) * d1;
        double d4 = Math.round((paramo.q((e)localObject2) - arrayOft[k].e()) / d1) * d1;
        double d6 = arrayOft[k].d() + d2;
        double d7 = arrayOft[k].e() + d4;
        a(paramo, arrayOfbb[k], arrayOfab[k], new a.d.w(d6, d7), arrayOft[k]);
        k--;
        if ((!bool2) && (bool1)) {
          return;
        }
      } while (!bool1);
      label1362:
      this.D.e();
    }
    if (!bool2) {
      paramo.a(localx);
    }
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.c.a

 * JD-Core Version:    0.7.0.1

 */